home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.5 Applications 2004 April / SGI IRIX 6.5 Applications 2004 April.iso / dist / mpi.idb / usr / share / catman / p_man / cat1 / mpirun.z.z / mpirun.z / mpirun
Text File  |  2003-06-17  |  36KB  |  661 lines

  1.  
  2.  
  3.  
  4. mmmmppppiiiirrrruuuunnnn((((1111))))                                                            mmmmppppiiiirrrruuuunnnn((((1111))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      mmmmppppiiiirrrruuuunnnn - Runs MPI programs
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      mmmmppppiiiirrrruuuunnnn [[[[_g_l_o_b_a_l__o_p_t_i_o_n_s] _e_n_t_r_y__o_b_j_e_c_t [:_e_n_t_r_y__o_b_j_e_c_t ...]
  13.  
  14. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.      The mmmmppppiiiirrrruuuunnnn command is the primary job launcher for the Message Passing
  16.      Toolkit (MPT) implementations of MPI. The mmmmppppiiiirrrruuuunnnn command must be used
  17.      when a user wants to run an MPI application on IRIX or Linux systems.  In
  18.      addition, Array Services software must be running to launch MPI programs.
  19.  
  20.      MPI implements the MPI 1.2 standard, as documented by the MPI Forum in
  21.      the spring 1997 release of _M_P_I: _A _M_e_s_s_a_g_e _P_a_s_s_i_n_g _I_n_t_e_r_f_a_c_e _S_t_a_n_d_a_r_d.  In
  22.      addition, certain MPI-2 functions are implemented. However, several MPI
  23.      implementations available today use a job launcher called mmmmppppiiiirrrruuuunnnn, and
  24.      because this command is not part of the MPI standard, each
  25.      implementation's mmmmppppiiiirrrruuuunnnn command differs in both syntax and functionality.
  26.  
  27.      You can run an application on the local host only (the host from which
  28.      you issued mmmmppppiiiirrrruuuunnnn) or distribute it to run on any number of hosts that
  29.      you specify.
  30.  
  31.      The mmmmppppiiiirrrruuuunnnn command accepts the following operands:
  32.  
  33.      The _g_l_o_b_a_l__o_p_t_i_o_n_s operand applies to all MPI executable files on all
  34.      specified hosts. Global options must be specified before local options
  35.      specific to a host (_e_n_t_r_y__o_b_j_e_c_t).  The following global options are
  36.      supported:
  37.  
  38.      GGGGlllloooobbbbaaaallll OOOOppppttttiiiioooonnnn            DDDDeeeessssccccrrrriiiippppttttiiiioooonnnn
  39.  
  40.      ----aaaa[[[[rrrrrrrraaaayyyy]]]] _a_r_r_a_y__n_a_m_e      Specifies the array to use when launching an MPI
  41.                               application.  By default for multihost jobs,
  42.                               Array Services uses the default array, which is
  43.                               identified by the aaaaiiiinnnnffffoooo ddddffffllllttttaaaarrrrrrrraaaayyyy command.  You
  44.                               can obtain other valid values by issuing the
  45.                               aaaaiiiinnnnffffoooo aaaarrrrrrrraaaayyyyssss command or by viewing the
  46.                               ////uuuussssrrrr////lllliiiibbbb////aaaarrrrrrrraaaayyyy////aaaarrrrrrrraaaayyyydddd....ccccoooonnnnffff file.  [Note:  This
  47.                               option is ignored when using the ----nnnnpppp option.]
  48.  
  49.      ----ccccpppprrrr                     (This option is supported on IRIX systems only.)
  50.                               Allows users to checkpoint or restart MPI jobs
  51.                               that consist of a single executable file running
  52.                               on a single system.  Note that the ----ccccpppprrrr forces
  53.                               the use of the ----nnnnpppp option.
  54.  
  55.                               For example, the following command is valid in
  56.                               ksh (OOOOUUUUTTTTFFFFIIIILLLLEEEE is the file to which ssssttttddddoooouuuutttt will be
  57.                               redirected, which may also be ////ddddeeeevvvv////nnnnuuuullllllll):
  58.  
  59.                     mpirun -v -cpr -np 2 a.out > OUTFILE 2>&1 < /dev/null
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. mmmmppppiiiirrrruuuunnnn((((1111))))                                                            mmmmppppiiiirrrruuuunnnn((((1111))))
  71.  
  72.  
  73.  
  74.                               The following commands are not valid:
  75.  
  76.                     mpirun -cpr 2 ./a.out : 3 ./b.out
  77.                     mpirun -cpr hosta -np 2 ./a.out>out 2>&1 </dev/null
  78.  
  79.  
  80.                               The first one is not valid because it consists
  81.                               of more than one executable file (aaaa....oooouuuutttt and
  82.                               bbbb....oooouuuutttt).  The second one is not valid because
  83.                               even if submitted from hhhhoooossssttttaaaa, it specifies a
  84.                               host name.
  85.  
  86.                               For interactive users, the most common methods
  87.                               of checkpointing are by either AAAASSSSHHHH or HHHHIIIIDDDD.  You
  88.                               can use the aaaarrrrrrrraaaayyyy(1) command to find the AAAASSSSHHHH of
  89.                               a job.
  90.  
  91.                               However, checkpoint/restart currently uses the
  92.                               default array from Array Services to checkpoint
  93.                               jobs.  To be able to checkpoint by AAAASSSSHHHH you must
  94.                               also ensure that the default array contains only
  95.                               the localhost.  If the default array contains
  96.                               any remote hosts, you must checkpoint by HHHHIIIIDDDD or
  97.                               one of the other types supported by ccccpppprrrr.
  98.  
  99.                               Interactive users should also note that ssssttttddddiiiinnnn,
  100.                               ssssttttddddoooouuuutttt, and ssssttttddddeeeerrrrrrrr should not be connected to
  101.                               the terminal when this option is being used.
  102.  
  103.                               Use of this option requires Array Services 3.1
  104.                               or later.
  105.  
  106.                               The default behavior will allow for jobs to be
  107.                               checkpointed if the above rules for invoking
  108.                               have been followed, but using the ----ccccpppprrrr option is
  109.                               recommended because it provides specific error
  110.                               messages instead of silently disabling.
  111.  
  112.      ----dddd[[[[iiiirrrr]]]] _p_a_t_h__n_a_m_e         Specifies the working directory for all hosts.
  113.                               In addition to normal path names, the following
  114.                               special values are recognized:
  115.  
  116.                                    ....    Translates into the absolute path name
  117.                                         of the user's current working
  118.                                         directory on the local host. This is
  119.                                         the default.
  120.  
  121.                                    ~~~~    Specifies the use of the value of
  122.                                         $$$$HHHHOOOOMMMMEEEE as it is defined on each
  123.                                         machine. In general, this value can be
  124.                                         different on each machine.
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. mmmmppppiiiirrrruuuunnnn((((1111))))                                                            mmmmppppiiiirrrruuuunnnn((((1111))))
  137.  
  138.  
  139.  
  140.      ----ffff[[[[iiiilllleeee]]]] _f_i_l_e__n_a_m_e        Specifies a text file that contains mmmmppppiiiirrrruuuunnnn
  141.                               arguments.
  142.  
  143.      ----hhhh[[[[eeeellllpppp]]]]                  Displays a list of options supported by the
  144.                               mmmmppppiiiirrrruuuunnnn command.
  145.  
  146.      ----mmmmiiiisssseeeerrrr                   (This option is supported on IRIX systems only.)
  147.                               Allows MPI jobs that run on a single system to
  148.                               be submitted to mmmmiiiisssseeeerrrr. The absence of any host
  149.                               names in the mmmmppppiiiirrrruuuunnnn command indicates that a job
  150.                               is running on a single system, and thus can be
  151.                               submitted to mmmmiiiisssseeeerrrr.  For example, the following
  152.                               command is valid:
  153.  
  154.                     miser_submit -q queue -f file mpirun -miser 2 ./a.out : 3 ./b.out
  155.  
  156.  
  157.                               The following command is not valid, even if
  158.                               submitted on hhhhoooossssttttaaaa:
  159.  
  160.                     miser_submit -q queue -f file mpirun -miser hosta 2 ./a.out
  161.  
  162.  
  163.                               Use of this option requires Array Services 3.1
  164.                               or later.
  165.  
  166.      ----pppp[[[[rrrreeeeffffiiiixxxx]]]] _p_r_e_f_i_x__s_t_r_i_n_g  Specifies a string to prepend to each line of
  167.                               output from ssssttttddddeeeerrrrrrrr and ssssttttddddoooouuuutttt for each MPI
  168.                               process. To delimit lines of text that come from
  169.                               different hosts, output to ssssttttddddoooouuuutttt must be
  170.                               terminated with a new line character.  If a
  171.                               process's ssssttttddddoooouuuutttt or ssssttttddddeeeerrrrrrrr streams do not end
  172.                               with a new line character, there will be no
  173.                               prefix associated with the output or error
  174.                               streams of that process from the final new line
  175.                               to the end of the stream.
  176.  
  177.                               If the MMMMPPPPIIII____UUUUNNNNBBBBUUUUFFFFFFFFEEEERRRREEEEDDDD____SSSSTTTTDDDDIIIIOOOO environment variable
  178.                               is set, the prefix string is ignored.
  179.  
  180.                               Some strings have special meaning and are
  181.                               translated as follows:
  182.  
  183.                               *   %%%%gggg translates into the global rank of the
  184.                                   process producing the output. This is
  185.                                   equivalent to the rank of the process in
  186.                                   MMMMPPPPIIII____CCCCOOOOMMMMMMMM____WWWWOOOORRRRLLLLDDDD when not running in ssssppppaaaawwwwnnnn
  187.                                   ccccaaaappppaaaabbbblllleeee mode.  In the latter case, this
  188.                                   translates to the rank of the process within
  189.                                   the universe specified at job launch.
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. mmmmppppiiiirrrruuuunnnn((((1111))))                                                            mmmmppppiiiirrrruuuunnnn((((1111))))
  203.  
  204.  
  205.  
  206.                               *   %%%%GGGG translates into the number of processes
  207.                                   in MMMMPPPPIIII____CCCCOOOOMMMMMMMM____WWWWOOOORRRRLLLLDDDD, or, if running in ssssppppaaaawwwwnnnn
  208.                                   ccccaaaappppaaaabbbblllleeee mode, the value of the
  209.                                   MMMMPPPPIIII____UUUUNNNNIIIIVVVVEEEERRRRSSSSEEEE____SSSSIIIIZZZZEEEE attribute.
  210.  
  211.                               *   %%%%hhhh translates into the rank of the host on
  212.                                   which the process is running, relative to
  213.                                   the mmmmppppiiiirrrruuuunnnn command line.  This string is not
  214.                                   relevant for processes started via
  215.                                   MMMMPPPPIIII____CCCCoooommmmmmmm____ssssppppaaaawwwwnnnn or MMMMPPPPIIII____CCCCoooommmmmmmm____ssssppppaaaawwwwnnnn____mmmmuuuullllttttiiiipppplllleeee.
  216.  
  217.                               *   %%%%HHHH translates into the total number of hosts
  218.                                   in the job.  This string is not relevant for
  219.                                   processes started via MMMMPPPPIIII____CCCCoooommmmmmmm____ssssppppaaaawwwwnnnn or
  220.                                   MMMMPPPPIIII____CCCCoooommmmmmmm____ssssppppaaaawwwwnnnn____mmmmuuuullllttttiiiipppplllleeee.
  221.  
  222.                               *   %%%%llll translates into the rank of the process
  223.                                   relative to other processes running on the
  224.                                   same host.
  225.  
  226.                               *   %%%%LLLL translates into the total number of
  227.                                   processes running on the host.
  228.  
  229.                               *   %%%%wwww translates into the world rank of the
  230.                                   process, i.e. its rank in a MMMMPPPPIIII____CCCCOOOOMMMMMMMM____WWWWOOOORRRRLLLLDDDD.
  231.                                   When not running in ssssppppaaaawwwwnnnn ccccaaaappppaaaabbbblllleeee mode, this
  232.                                   is equivalent to %%%%gggg.
  233.  
  234.                               *   %%%%WWWW translates into the total number of
  235.                                   processes in MMMMPPPPIIII____CCCCOOOOMMMMMMMM____WWWWOOOORRRRLLLLDDDD.  When not
  236.                                   running in ssssppppaaaawwwwnnnn ccccaaaappppaaaabbbblllleeee mode, this is
  237.                                   equivalent to %%%%GGGG.
  238.  
  239.                               *   %%%%@@@@ translates into the name of the host on
  240.                                   which the process is running.
  241.  
  242.                               For examples of the use of these strings, first
  243.                               consider the following code fragment:
  244.  
  245.                                    main(int argc, char **argv)
  246.                                    {
  247.                                       MPI_Init(&argc, &argv);
  248.  
  249.                                       printf("Hello world\n");
  250.  
  251.                                       MPI_Finalize();
  252.                                    }
  253.  
  254.  
  255.                               Depending on how this code is run, the results
  256.                               of running the mmmmppppiiiirrrruuuunnnn command will be similar to
  257.                               those in the following examples:
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. mmmmppppiiiirrrruuuunnnn((((1111))))                                                            mmmmppppiiiirrrruuuunnnn((((1111))))
  269.  
  270.  
  271.  
  272.                               % mpirun -np 2 a.out
  273.                               Hello world
  274.                               Hello world
  275.  
  276.  
  277.  
  278.                               % mpirun -prefix ">" -np 2 a.out
  279.                               >Hello world
  280.                               >Hello world
  281.  
  282.  
  283.  
  284.                               % mpirun -prefix "%g" 2 a.out
  285.                               0Hello world
  286.                               1Hello world
  287.  
  288.  
  289.  
  290.                               % mpirun -prefix "[%g] " 2 a.out
  291.                               [0] Hello world
  292.                               [1] Hello world
  293.  
  294.  
  295.  
  296.                               % mpirun -prefix "<process %g out of %G> " 4 a.out
  297.                               <process 1 out of 4> Hello world
  298.                               <process 0 out of 4> Hello world
  299.                               <process 3 out of 4> Hello world
  300.                               <process 2 out of 4> Hello world
  301.  
  302.  
  303.  
  304.                               % mpirun -prefix "%@: " hosta,hostb 1 a.out
  305.                               hosta: Hello world
  306.                               hostb: Hello world
  307.  
  308.  
  309.  
  310.                     % mpirun -prefix "%@ (%l out of %L) %g: " hosta 2, hostb 3 a.out
  311.  
  312.                               hosta (0 out of 2) 0: Hello world
  313.                               hosta (1 out of 2) 1: Hello world
  314.                               hostb (0 out of 3) 2: Hello world
  315.                               hostb (1 out of 3) 3: Hello world
  316.                               hostb (2 out of 3) 4: Hello world
  317.  
  318.  
  319.  
  320.                     % mpirun -prefix "%@ (%h out of %H): " hosta,hostb,hostc 2 a.out
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. mmmmppppiiiirrrruuuunnnn((((1111))))                                                            mmmmppppiiiirrrruuuunnnn((((1111))))
  335.  
  336.  
  337.  
  338.                               hosta (0 out of 3): Hello world
  339.                               hostb (1 out of 3): Hello world
  340.                               hostc (2 out of 3): Hello world
  341.                               hosta (0 out of 3): Hello world
  342.                               hostc (2 out of 3): Hello world
  343.                               hostb (1 out of 3): Hello world
  344.  
  345.  
  346.  
  347.      ----ssssttttaaaattttssss                   Prints statistics about the amount of data sent
  348.                               with MPI calls during the MMMMPPPPIIII____FFFFiiiinnnnaaaalllliiiizzzzeeee process.
  349.                               Data is sent to ssssttttddddeeeerrrrrrrr.  Users can combine this
  350.                               option with the ----pppp option to prefix the
  351.                               statistics messages with the MPI rank.  For more
  352.                               details, see the MMMMPPPPIIII____SSSSGGGGIIII____ssssttttaaaatttt____pppprrrriiiinnnntttt(3) man page.
  353.  
  354.      ----uuuupppp _u__s_i_z_e               Specifies the value of the MMMMPPPPIIII____UUUUNNNNIIIIVVVVEEEERRRRSSSSEEEE____SSSSIIIIZZZZEEEE
  355.                               attribute to be used in supporting
  356.                               MMMMPPPPIIII____CCCCoooommmmmmmm____ssssppppaaaawwwwnnnn and MMMMPPPPIIII____CCCCoooommmmmmmm____ssssppppaaaawwwwnnnn____mmmmuuuullllttttiiiipppplllleeee.
  357.                               This field must be set if either of these
  358.                               functions are to be used by the application
  359.                               being launched by mmmmppppiiiirrrruuuunnnn.  Setting this field
  360.                               implies the MMMMPPPPIIII job is being run in ssssppppaaaawwwwnnnn
  361.                               ccccaaaappppaaaabbbblllleeee mode.
  362.  
  363.      ----vvvv[[[[eeeerrrrbbbboooosssseeee]]]]               Displays comments on what mmmmppppiiiirrrruuuunnnn is doing when
  364.                               launching the MPI application.
  365.  
  366.    EEEEnnnnttttrrrryyyy OOOObbbbjjjjeeeeccccttttssss
  367.      _e_n_t_r_y__o_b_j_e_c_t describes a host on which to run a program, and the local
  368.      options for that host.  You can list any number of _e_n_t_r_y__o_b_j_e_c_t entries
  369.      on the mmmmppppiiiirrrruuuunnnn command line.
  370.  
  371.      In the common case (Single Program Multiple Data (SPMD)), in which the
  372.      same program runs with identical arguments on each host, usually only one
  373.      _e_n_t_r_y__o_b_j_e_c_t needs to be specified.
  374.  
  375.      Each _e_n_t_r_y__o_b_j_e_c_t has the following components:
  376.  
  377.      *   One or more host names (not needed if you run on the local host)
  378.  
  379.      *   Number of processes to start on each host
  380.  
  381.      *   Name of an executable program
  382.  
  383.      *   Arguments to the executable program (optional)
  384.  
  385.      _e_n_t_r_y__o_b_j_e_c_t has the following format:
  386.  
  387.           host_list local_options program program_arguments
  388.  
  389.  
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. mmmmppppiiiirrrruuuunnnn((((1111))))                                                            mmmmppppiiiirrrruuuunnnn((((1111))))
  401.  
  402.  
  403.  
  404.      The _h_o_s_t__l_i_s_t operand is either a single host (machine name) or a comma-
  405.      separated list of hosts on which to run an MPI program.
  406.  
  407.      The _l_o_c_a_l__o_p_t_i_o_n_s operand contains information that applies to a specific
  408.      host list. The following local options are supported:
  409.  
  410.      LLLLooooccccaaaallll OOOOppppttttiiiioooonnnn                  DDDDeeeessssccccrrrriiiippppttttiiiioooonnnn
  411.  
  412.      ----ffff[[[[iiiilllleeee]]]] _f_i_l_e__n_a_m_e             Specifies a text file that contains mmmmppppiiiirrrruuuunnnn
  413.                                    arguments (same as _g_l_o_b_a_l__o_p_t_i_o_n_s.)  For
  414.                                    more details, see the subsection titled
  415.                                    "Using a File For mmmmppppiiiirrrruuuunnnn Arguments" on this
  416.                                    man page.
  417.  
  418.      ----nnnnpppp _n_u_m__p_r_o_c                  Specifies the number of processes on which
  419.                                    to run. This local option behaves the same
  420.                                    as ----nnnnpppp.
  421.  
  422.      ----nnnntttt _n_u_m__p_r_o_c                  The ----nnnntttt option is equivalent to the ----nnnnpppp
  423.                                    option. It is deprecated, and exists for
  424.                                    command line compatibility with previously
  425.                                    supported architectures.
  426.  
  427.      The _p_r_o_g_r_a_m _p_r_o_g_r_a_m__a_r_g_u_m_e_n_t_s operand specifies the name of the program
  428.      that you are running and its accompanying options.
  429.  
  430.    UUUUssssiiiinnnngggg aaaa FFFFiiiilllleeee ffffoooorrrr mmmmppppiiiirrrruuuunnnn AAAArrrrgggguuuummmmeeeennnnttttssss
  431.      Because the full specification of a complex job can be lengthy, you can
  432.      enter mmmmppppiiiirrrruuuunnnn arguments in a file and use the ----ffff option to specify the
  433.      file on the mmmmppppiiiirrrruuuunnnn command line, as in the following example:
  434.  
  435.           mpirun -f my_arguments
  436.  
  437.  
  438.      The arguments file is a text file that contains argument segments.  White
  439.      space is ignored in the arguments file, so you can include spaces and
  440.      newline characters for readability. An arguments file can also contain
  441.      additional ----ffff options.
  442.  
  443.    LLLLaaaauuuunnnncccchhhhiiiinnnngggg PPPPrrrrooooggggrrrraaaammmmssss oooonnnn tttthhhheeee LLLLooooccccaaaallll HHHHoooosssstttt
  444.      For testing and debugging, it is often useful to run an MPI program on
  445.      the local host only without distributing it to other systems. To run the
  446.      application locally, enter mmmmppppiiiirrrruuuunnnn with the ----nnnnpppp argument. Your entry must
  447.      include the number of processes to run and the name of the MPI executable
  448.      file.
  449.  
  450.      The following command starts three instances of the application mmmmtttteeeesssstttt,
  451.      which is passed an arguments list (arguments are optional):
  452.  
  453.           mpirun -np 3 mtest 1000 "arg2"
  454.  
  455.  
  456.  
  457.  
  458.  
  459.                                                                         PPPPaaaaggggeeee 7777
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. mmmmppppiiiirrrruuuunnnn((((1111))))                                                            mmmmppppiiiirrrruuuunnnn((((1111))))
  467.  
  468.  
  469.  
  470.      You are not required to use a different host in each entry that you
  471.      specify on the mmmmppppiiiirrrruuuunnnn command.  You can launch a job that has two
  472.      executable files on the same host.  In the following example, both
  473.      executable files use shared memory.
  474.  
  475.           mpirun host_a -np 6 a.out : host_a -np 4 b.out
  476.  
  477.      Note that for IRIX hosts, both executable files must be compiled
  478.      as either 32-bit or 64-bit applications.
  479.  
  480.    LLLLaaaauuuunnnncccchhhhiiiinnnngggg aaaa DDDDiiiissssttttrrrriiiibbbbuuuutttteeeedddd PPPPrrrrooooggggrrrraaaammmm
  481.      You can use mmmmppppiiiirrrruuuunnnn to launch a program that consists of any number of
  482.      executable files and processes and distribute it to any number of hosts.
  483.      A host is usually a single machine, or, for IRIX systems, can be any
  484.      accessible computer running Array Services software.  For available nodes
  485.      on systems running Array Services software, see the
  486.      ////uuuussssrrrr////lllliiiibbbb////aaaarrrrrrrraaaayyyy////aaaarrrrrrrraaaayyyydddd....ccccoooonnnnffff file.
  487.  
  488.      You can list multiple entries on the mmmmppppiiiirrrruuuunnnn command line. Each entry
  489.      contains an MPI executable file and a combination of hosts and process
  490.      counts for running it. This gives you the ability to start different
  491.      executable files on the same or different hosts as part of the same MPI
  492.      application.
  493.  
  494.      The following examples show various ways to launch an application that
  495.      consists of multiple MPI executable files on multiple hosts.
  496.  
  497.      The following example runs ten instances of the aaaa....oooouuuutttt file on hhhhoooosssstttt____aaaa:
  498.  
  499.           mpirun host_a -np 10 a.out
  500.  
  501.  
  502.      When specifying multiple hosts, the ----nnnnpppp option can be omitted with the
  503.      number of processes listed directly.  The following example launches ten
  504.      instances of ffffrrrreeeedddd on three hosts.  ffffrrrreeeedddd has two input arguments.
  505.  
  506.           mpirun host_a, host_b, host_c 10 fred arg1 arg2
  507.  
  508.  
  509.      The following IRIX example launches an MPI application on different hosts
  510.      with different numbers of processes and executable files, using an array
  511.      called tttteeeesssstttt:
  512.  
  513.           mpirun -array test host_a 6 a.out : host_b 26 b.out
  514.  
  515.  
  516.      The following example launches an MPI application on different hosts out
  517.      of the same directory on both hosts:
  518.  
  519.           mpirun -d /tmp/mydir host_a 6 a.out : host_b 26 b.out
  520.  
  521.  
  522.  
  523.  
  524.  
  525.                                                                         PPPPaaaaggggeeee 8888
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. mmmmppppiiiirrrruuuunnnn((((1111))))                                                            mmmmppppiiiirrrruuuunnnn((((1111))))
  533.  
  534.  
  535.  
  536.    JJJJoooobbbb CCCCoooonnnnttttrrrroooollll
  537.      It is possible to terminate, suspend, and/or resume an entire MPI
  538.      application (potentially running across multiple hosts) by using the same
  539.      control characters that work for serial programs.  For example, sending a
  540.      SSSSIIIIGGGGIIIINNNNTTTT signal to mmmmppppiiiirrrruuuunnnn terminates all processes in an MPI job.
  541.      Similarly, sending a SSSSIIIIGGGGTTTTSSSSTTTTPPPP signal to mmmmppppiiiirrrruuuunnnn suspends an MPI job and
  542.      sending a SSSSIIIIGGGGCCCCOOOONNNNTTTT signal resumes a job.
  543.  
  544.    SSSSiiiiggggnnnnaaaallll PPPPrrrrooooppppaaaaggggaaaattttiiiioooonnnn
  545.      It is possible to send some user signals to all processes in an MPI
  546.      application (potentially running across multiple hosts).  Presently,
  547.      mmmmppppiiiirrrruuuunnnn supports two user-defined signals:  SSSSIIIIGGGGUUUURRRRGGGG and SSSSIIIIGGGGUUUUSSSSRRRR1111.  To make
  548.      use of this feature, the MPI program needs to have a signal handler that
  549.      catches SSSSIIIIGGGGUUUURRRRGGGG or SSSSIIIIGGGGUUUUSSSSRRRR1111. When the SSSSIIIIGGGGUUUURRRRGGGG or SSSSIIIIGGGGUUUUSSSSRRRR1111 signals are sent to
  550.      the mmmmppppiiiirrrruuuunnnn process ID, the mmmmppppiiiirrrruuuunnnn process will catch the signal and
  551.      propagate it to all MPI processes.
  552.  
  553.    TTTTrrrroooouuuubbbblllleeeesssshhhhoooooooottttiiiinnnngggg
  554.      Problems you encounter when launching MPI jobs will typically result in a
  555.      ccccoooouuuulllldddd nnnnooootttt rrrruuuunnnn eeeexxxxeeeeccccuuuuttttaaaabbbblllleeee error message from mmmmppppiiiirrrruuuunnnn. There are many
  556.      possible causes for this message, including (but not limited to) the
  557.      following reasons:
  558.  
  559.      *   The .... is missing from the user's search path. This problem most
  560.          commonly occurs when the ----nnnnpppp syntax is used.
  561.  
  562.      *   No permission has been granted to the local host to launch processes
  563.          on remote hosts.  Because MPI references the ....rrrrhhhhoooossssttttssss file for
  564.          authentication, this can happen even if you are running your job on
  565.          the same machine. For example, if you specify mmmmppppiiiirrrruuuunnnn _l_o_c_a_l_h_o_s_t 2222
  566.          aaaa....oooouuuutttt, MPI will treat _l_o_c_a_l_h_o_s_t as a remote host.  The usual solution
  567.          to this problem is to put the local host name in your ~~~~////....rrrrhhhhoooossssttttssss file.
  568.  
  569.      *   The working directory is defaulting to $$$$HHHHOOOOMMMMEEEE instead of to $$$$PPPPWWWWDDDD on
  570.          remote machines; use either MMMMPPPPIIII____DDDDIIIIRRRR or the ----dddd option.
  571.  
  572.      *   llllooooccccaaaallllhhhhoooosssstttt does not appear in the ////eeeettttcccc////hhhhoooossssttttssss....eeeeqqqquuuuiiiivvvv file (required for
  573.          ----nnnnpppp syntax).
  574.  
  575.      *   The Array Services daemon (aaaarrrrrrrraaaayyyydddd) has been incorrectly configured;
  576.          use aaaasssscccchhhheeeecccckkkk to test your configuration.
  577.  
  578.      *   In general, if aaaarrrrsssshhhheeeellllllll fails, mmmmppppiiiirrrruuuunnnn usually fails as well.
  579.  
  580.    LLLLiiiimmmmiiiittttaaaattttiiiioooonnnnssss
  581.      The following practices will break the mmmmppppiiiirrrruuuunnnn parser:
  582.  
  583.      *   Using machine names that are numbers (for example, 3333, 111122227777, and so on)
  584.  
  585.      *   Using MPI applications whose names match mmmmppppiiiirrrruuuunnnn options (for example,
  586.          ----dddd, ----ffff, and so on)
  587.  
  588.  
  589.  
  590.  
  591.                                                                         PPPPaaaaggggeeee 9999
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. mmmmppppiiiirrrruuuunnnn((((1111))))                                                            mmmmppppiiiirrrruuuunnnn((((1111))))
  599.  
  600.  
  601.  
  602.      *   Using MPI applications that use a colon (::::) in their command-lines.
  603.  
  604. NNNNOOOOTTTTEEEESSSS
  605.      Running an MPI job in the background is supported only when ssssttttddddiiiinnnn is
  606.      redirected.
  607.  
  608.      The mmmmppppiiiirrrruuuunnnn process is still connected to the tty when a job is placed in
  609.      the background.  One of the things that mmmmppppiiiirrrruuuunnnn polls for is input from
  610.      ssssttttddddiiiinnnn.  If it happens to be polling for ssssttttddddiiiinnnn when a user types in a
  611.      window after putting an MPI job in the background, and ssssttttddddiiiinnnn has not been
  612.      redirected, the job will abort upon receiving a SSSSIIIIGGGGTTTTTTTTIIIINNNN signal.  This
  613.      behavior is intermittent, depending on whether mmmmppppiiiirrrruuuunnnn happens to be
  614.      looking for and sees any ssssttttddddiiiinnnn input.
  615.  
  616.      The following examples show how to run an MPI job in the background.
  617.  
  618.      For a job that uses iiiinnnnppppuuuutttt____ffffiiiilllleeee as ssssttttddddiiiinnnn:
  619.  
  620.           mmmmppppiiiirrrruuuunnnn ----nnnnpppp 2222 ....////aaaa....oooouuuutttt <<<< iiiinnnnppppuuuutttt____ffffiiiilllleeee >>>> oooouuuuttttppppuuuutttt &&&&
  621.  
  622.  
  623.      For a job that does not use ssssttttddddiiiinnnn:
  624.  
  625.           mmmmppppiiiirrrruuuunnnn ----nnnnpppp 2222 ....////aaaa....oooouuuutttt <<<< ////ddddeeeevvvv////nnnnuuuullllllll  >>>> oooouuuuttttppppuuuutttt &&&&
  626.  
  627.  
  628. RRRREEEETTTTUUUURRRRNNNN VVVVAAAALLLLUUUUEEEESSSS
  629.      On exit, mmmmppppiiiirrrruuuunnnn returns the appropriate error code to the run
  630.      environment.
  631.  
  632. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  633.      mmmmppppiiii(1)
  634.  
  635.      tttteeeerrrrmmmmiiiioooo(7)
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.                                                                        PPPPaaaaggggeeee 11110000
  658.  
  659.  
  660.  
  661.